home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1999 January / EnigmA AMIGA RUN 33 (1999)(G.R. Edizioni)(IT)[!][issue 1999-01].iso / earcd / apus / install / obsolete / hdinstll.lha / hdinstall < prev    next >
Text File  |  1998-05-06  |  7KB  |  372 lines

  1. #! /bin/sh
  2. #hacked version of cdrdisk-net to insall from harddrive
  3. # Set up path
  4. PATH=.:/bin:/sbin:/usr/bin:/usr/sbin
  5. export PATH
  6.  
  7. # Set up terminal
  8. TERM=con80x25
  9. export TERM
  10.  
  11. # Make / writeable
  12. mount -w -n -o remount /dev/ramdisk /
  13. cd /
  14.  
  15. # Define all [default] values
  16. host_addr="198.6.75.7"
  17. host_name="Helios"
  18. network_addr="198.6.75.0"
  19. network_mask="255.255.255.0"
  20. broadcast_addr="198.6.75.255"
  21. gateway_addr="none"
  22. server_name="198.6.75.3"
  23. gzip_cmd="/mnt/gzip"
  24. mkdir_cmd="/mnt/mkdir"
  25. server_uid="root"
  26. root_dev="dev/sda"
  27. mkfs_options="-b1024"
  28. network_supp="NO"
  29.  
  30. while :
  31. do
  32.  
  33. dialog --clear --title "Installation Menu" \
  34.         --menu "What style of installation do you wish to perform?\n" \
  35.         20 70 7 \
  36.         "A"   "Packed Linux files from harddisk [chrproot.tar.gz]" \
  37.         "B"   "Packed Linux files from harddisk [TAPE_FILE3.gz]" \
  38.         2> /tmp/result
  39. retval=$?
  40. install_type=`cat /tmp/result`
  41. case $retval in
  42.   1)
  43.     echo "Cancelled!"; exit;;
  44.   255)
  45.     continue;;
  46. esac
  47.  
  48. # Get network host name
  49. dialog --title "Host Name" --clear \
  50.         --inputbox "What is your host [network] name? \n"\
  51.    16 51 $host_name 2> /tmp/result
  52. retval=$?
  53. case $retval in
  54.   1)
  55.     echo "Cancelled!"; exit;;
  56.   255)
  57.     continue;;
  58. esac
  59. host_name=`cat /tmp/result`
  60.  
  61. dialog --clear --title "Network Connection" \
  62.         --menu "Do you use your box in a Network?\n" \
  63.         20 70 7 \
  64.         "YES"   "Network Connection" \
  65.         "NO"   "Network Connection" \
  66.         2> /tmp/result
  67. retval=$?
  68. network_supp=`cat /tmp/result`
  69. case $retval in
  70.   1)
  71.     echo "Cancelled!"; exit;;
  72.   255)
  73.     continue;;
  74. esac
  75.  
  76. if [ "$network_supp" = "YES" ] ; then
  77.  
  78. # Get network address
  79. dialog --title "Host Address" --clear \
  80.         --inputbox "What is your host [network] address? \n"\
  81.    16 51 $host_addr 2> /tmp/result
  82. retval=$?
  83. case $retval in
  84.   1)
  85.     echo "Cancelled!"; exit;;
  86.   255)
  87.     continue;;
  88. esac
  89. host_addr=`cat /tmp/result`
  90.  
  91.  
  92. # Get network name
  93. dialog --title "Network Number" --clear \
  94.         --inputbox "What is your network number? \n"\
  95.    16 51 $network_addr 2> /tmp/result
  96. retval=$?
  97. case $retval in
  98.   1)
  99.     echo "Cancelled!"; exit;;
  100.   255)
  101.     continue;;
  102. esac
  103. network_addr=`cat /tmp/result`
  104.  
  105. # Get network mask
  106. dialog --title "Network Mask" --clear \
  107.         --inputbox "What is your network mask? \n"\
  108.    16 51 $network_mask 2> /tmp/result
  109. retval=$?
  110. case $retval in
  111.   1)
  112.     echo "Cancelled!"; exit;;
  113.   255)
  114.     continue;;
  115. esac
  116. network_mask=`cat /tmp/result`
  117.  
  118. # Get broadcast address
  119. dialog --title "Broadcast Address" --clear \
  120.         --inputbox "What is your broadcast address? \n"\
  121.    16 51 $broadcast_addr 2> /tmp/result
  122. retval=$?
  123. case $retval in
  124.   1)
  125.     echo "Cancelled!"; exit;;
  126.   255)
  127.     continue;;
  128. esac
  129. broadcast_addr=`cat /tmp/result`
  130.  
  131. # Get gateway name
  132. dialog --title "Gateway Address" --clear \
  133.         --inputbox "If you need to use a gateway\n\
  134. to reach your server, enter it's address here.\n\
  135. If you don't need a gateway, set the value to 'none'.\n\n\
  136. Gateway address? \n"\
  137.    16 70 $gateway_addr 2> /tmp/result
  138. retval=$?
  139. case $retval in
  140.   1)
  141.     echo "Cancelled!"; exit;;
  142.   255)
  143.     continue;;
  144. esac
  145. gateway_addr=`cat /tmp/result`
  146.  
  147. fi
  148.  
  149.  
  150. if [ "$install_type" = "A" -o "$install_type" = "B" ] ; then
  151. if [ "$install_type" = "A" ] ; then
  152.  
  153. hpacked_loc=/mnt/chrproot.tar.gz
  154. else
  155. hpacked_loc=/mnt/TAPE_FILE3.gz
  156.  
  157. fi
  158.  
  159. # Get file location
  160. dialog --title "File Location" --clear \
  161.         --inputbox "Where is the Linux/PPC distribution image \n"\
  162.    16 51 $hpacked_loc 2> /tmp/result
  163. retval=$?
  164. case $retval in
  165.   1)
  166.     echo "Cancelled!"; exit;;
  167.   255)
  168.     continue;;
  169. esac
  170. hpacked_loc=`cat /tmp/result`
  171.  
  172. # Get 'mkdir' command location
  173. dialog --title "'mkdir' Command Location" --clear \
  174.         --inputbox "What is the path for 'mkdir' on your disk?\n"\
  175.    16 51 $mkdir_cmd 2> /tmp/result
  176. retval=$?
  177. case $retval in
  178.   1)
  179.     echo "Cancelled!"; exit;;
  180.   255)
  181.     continue;;
  182. esac
  183. mkdir_cmd=`cat /tmp/result`
  184.  
  185. # Get 'gzip' command location
  186. dialog --title "'gzip' Command Location" --clear \
  187.         --inputbox "What is the path for 'gzip' on your disk?\n"\
  188.    16 51 $gzip_cmd 2> /tmp/result
  189. retval=$?
  190. case $retval in
  191.   1)
  192.     echo "Cancelled!"; exit;;
  193.   255)
  194.     continue;;
  195. esac
  196. gzip_cmd=`cat /tmp/result`
  197.  
  198. fi
  199.  
  200. # Get root device name
  201. dialog --title "Root Device Name" --clear \
  202.         --inputbox "What disk do you want to install on?\n"\
  203.    16 51 $root_dev 2> /tmp/result
  204. retval=$?
  205. case $retval in
  206.   1)
  207.     echo "Cancelled!"; exit;;
  208.   255)
  209.     continue;;
  210. esac
  211. root_dev=`cat /tmp/result`
  212.  
  213. dialog --title "Disk setup" --clear \
  214.         --msgbox \
  215.       "\n\
  216. This installation process assumes that the \n\
  217. disk drive $root_dev is used as follows:\n\
  218.   "$root_dev"1 - Root file system \n\
  219.   "$root_dev"2 - Swap space\n\
  220. \n" \
  221.    16 60 2> /tmp/result
  222.  
  223. # Get root device name
  224. dialog --title "Root Device Name" --clear \
  225.         --inputbox "Which partition for '/'?\n"\
  226.    16 51 "$root_dev"1 2> /tmp/result
  227. retval=$?
  228. case $retval in
  229.   1)
  230.     echo "Cancelled!"; exit;;
  231.   255)
  232.     continue;;
  233. esac
  234. root_part=`cat /tmp/result`
  235.  
  236. # Get swap device name
  237. dialog --title "Swap Device Name" --clear \
  238.         --inputbox "Which partition for swap?\n"\
  239.    16 51 "$root_dev"2 2> /tmp/result
  240. retval=$?
  241. case $retval in
  242.   1)
  243.     echo "Cancelled!"; exit;;
  244.   255)
  245.     continue;;
  246. esac
  247. swap_part=`cat /tmp/result`
  248.  
  249.  
  250. # Get file system options
  251. dialog --title "Options for 'mkfs'" --clear \
  252.         --inputbox "Options for 'mkfs'?\n"\
  253.    16 51 "$mkfs_options" 2> /tmp/result
  254. retval=$?
  255. case $retval in
  256.   1)
  257.     echo "Cancelled!"; exit;;
  258.   255)
  259.     continue;;
  260. esac
  261. mkfs_options=`cat /tmp/result`
  262.  
  263. # Customization complete, go do it!
  264. break
  265.  
  266. done
  267.  
  268. # All set, now do it!
  269.  
  270. dialog --title "Partitioning your disk" --clear \
  271.         --msgbox \
  272.       "\n\
  273. Please partition the disk drive $root_dev as follows:\n\
  274.   "$root_part" - Type Linux, Most of disk\n\
  275.   "$swap_part" - Type Linux Swap, maybe 32 Mb\n" \
  276.    16 60 2> /tmp/result
  277. retval=$?
  278. case $retval in
  279.   1)
  280.     echo "Cancelled!"; exit;;
  281.   255)
  282.     continue;;
  283. esac
  284.  
  285. ifconfig eth0 $host_addr
  286. if [ "$gateway_addr" != "none" ] ; then
  287.    route add default gw $gateway_addr
  288. fi
  289.  
  290. #route add -net $network_addr netmask $network_mask broadcast $broadcast_addr
  291. route add -net $network_addr netmask $network_mask
  292.  
  293. TERM=linux
  294. export TERM
  295. #cfdisk $root_dev $cfdisk_options
  296.  
  297. mke2fs $mkfs_options $root_part
  298.  
  299.  
  300. $mkdir_cmd /callisto
  301. mount -t ext2 $root_part /callisto
  302.  
  303. case "$install_type" in
  304.  
  305.       "A")
  306.         
  307.        $gzip_cmd -d <$hpacked_loc | pax -rvup e
  308.        cd /callisto
  309.        ;;
  310.      "B") 
  311.         
  312.         cd /callisto
  313.         $gzip_cmd -d <$hpacked_loc | pax -rvup e
  314.         ;;
  315.          
  316. esac      
  317.  
  318. # Create FSTAB
  319. cat >etc/fstab <<ZZZ
  320. $root_part / ext2 rw 1 1
  321. $swap_part none swap
  322. /proc   /proc   proc    defaults
  323. ZZZ
  324.  
  325. # Initialize swap partition
  326. sbin/mkswap $swap_part
  327.  
  328. ##if [ "$install_type" != "Diskettes" ] ; then
  329.  
  330. # Set up networking
  331.  
  332. cat >etc/sysconfig/network-scripts/ifcfg-eth0 <<ZZZ
  333. #!/bin/sh
  334.  
  335. #>>>Device type: ethernet
  336.  
  337. #>>>Variable declarations:
  338. DEVICE=eth0
  339. IPADDR=$host_addr
  340. NETMASK=$network_mask
  341. NETWORK=$network_addr
  342. BROADCAST=$broadcast_addr
  343. GATEWAY=$gateway_addr
  344. ONBOOT=yes
  345. #>>>End variable declarations
  346. ZZZ
  347.  
  348. if [ "$network_supp" = "YES" ] ; then
  349.  
  350. cat >etc/sysconfig/network <<ZZZ
  351. NETWORKING=yes
  352. HOSTNAME=$host_name
  353. ZZZ
  354.  
  355. else
  356.  
  357. cat >etc/sysconfig/network <<ZZZ
  358. NETWORKING=no
  359. HOSTNAME=$host_name
  360. ZZZ
  361.  
  362. fi
  363.  
  364. # End of network setup
  365. ##fi
  366.  
  367. cd /
  368. sync
  369. umount $root_part
  370. sync
  371.  
  372.